package com.csp.base.jobconfig.factory;

import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;
import org.springframework.stereotype.Service;

/**
 * @author sky
 * @version 1.0
 * @since 4.0
 */
@Service
public class JobFactory  extends AdaptableJobFactory  {  
  @Autowired  
  private AutowireCapableBeanFactory capableBeanFactory;  

  @Override  
  protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {  
      Object jobInstance = super.createJobInstance(bundle);  
      capableBeanFactory.autowireBean(jobInstance); 
      return jobInstance; 
  }  
  
  
}
